#coding:utf8
# add()方法可以向set中添加元素，可以重复添加，但不会有效果
# set中利用remove()方法可以删除集合中的元素
# clear()方法可以清空set中的元素
# copy()方法只能浅拷贝set中的元素，并生成一个新的集合
# pop()方法用于从set中随机取一个元素。记住，是随机的
# - 或\ 	- 	差集，相对补集
# ∩ 	& 	交集
# ∪ 	| 	并集
# ≠ 	!= 	不等于
# ＝ 	== 	等于
# ∈ 	in 	是成员关系
# ∉ 	not in 	非成员关系

class UrlManage(object):
	def __init__(self):
		self.allow = set()
		self.disable = set()

	def addUrl(self,url):
		if url is None:
			return
		if url not in self.allow and url not in self.disable:
			self.allow.add(url)

	def addUrls(self,urls):
		if urls is None or len(urls) == 0:
			return
		for url in urls:
			self.addUrl(url)

	def getOneUrl(self):
		if len(self.allow) == 0:
			return
		url = self.allow.pop()
		self.disable.add(url)
		return url

	def hasUrl(self):
		return len(self.allow) != 0
